home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / OCEStandardMail.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  23.3 KB  |  633 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        OCEStandardMail.mod
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Mail Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE OCEStandardMail;
  23.  
  24. IMPORT SYSTEM, Types, Memory, Quickdraw, Events, TextEdit, Dialogs, Files, OCE, OCEAuthDir, OCEMessaging, OCEMail;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29.  
  30. CONST
  31.     kSMPVersion*                    = 1;
  32.     gestaltSMPMailerVersion*        = LONG("malr");
  33.     gestaltSMPSPSendLetterVersion* = LONG("spsl");
  34.     kSMPNativeFormatName*        = LONG("natv");
  35.  
  36.  
  37. TYPE
  38.     LetterSpec* = RECORD
  39.         spec*:                    ARRAY 3 (*ΔΔ[0..2]ΔΔ*) OF LONGINT;
  40.     END;
  41.  
  42.  
  43. CONST
  44.     typeLetterSpec*                = LONG("lttr");
  45.  
  46. (*    Wildcard used for filtering letter types. *)
  47.     FilterAnyLetter*                = LONG("ltr*");
  48.     FilterAppleLetterContent*    = LONG("ltc*");
  49.     FilterImageContent*            = LONG("lti*");
  50.  
  51.  
  52. TYPE
  53.     LetterDescriptor* = RECORD
  54.         onDisk*:                    BOOLEAN;
  55.         filler1*:                BOOLEAN;
  56.         (*ΔΔ CASE INTEGER OF
  57.         0: ( *)
  58.     END;
  59.     LetterDescriptorFile* = RECORD(LetterDescriptor)
  60.             fileSpec*:                    Files.FSSpec;
  61.            (*ΔΔ );
  62.         1: *)
  63.     END;
  64.     LetterDescriptorMailbox* = RECORD(LetterDescriptor)
  65.             mailboxSpec*:                LetterSpec;
  66.            (*ΔΔ );*)
  67.     END;
  68.  
  69. (*
  70. SMPPSendAs values.  You may add the following values together to determine how the
  71. file is sent, but you may not set both kSMPSendAsEnclosureMask and kSMPSendFileOnlyMask.  This
  72. will allow you to send the letter as an image so that it will work with fax gateways
  73. and send as an enclosure as well.
  74. *)
  75.  
  76. CONST
  77.     kSMPSendAsEnclosureBit*        = 0;                            (* Appears as letter with enclosures *)
  78.     kSMPSendFileOnlyBit*            = 1;                            (* Appears as a file in mailbox. *)
  79.     kSMPSendAsImageBit*            = 2;                            (* Content imaged in letter *)
  80.  
  81. (* Values of SMPPSendAs *)
  82.     kSMPSendAsEnclosureMask*        = ASH(1,kSMPSendAsEnclosureBit);
  83.     kSMPSendFileOnlyMask*        = ASH(1,kSMPSendFileOnlyBit);
  84.     kSMPSendAsImageMask*            = ASH(1,kSMPSendAsImageBit);
  85.  
  86.     
  87. TYPE
  88.     SMPPSendAs* = Types.SignedByte;
  89.  
  90.     SMPDrawImageProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (refcon: LONGINT; inColor: BOOLEAN);
  91.     SMPDrawImageUPP* = Types.UniversalProcPtr;
  92.  
  93. CONST
  94.     uppSMPDrawImageProcInfo* = $000001C0; (* PROCEDURE (4 byte param, 1 byte param); *)
  95.  
  96. PROCEDURE NewSMPDrawImageProc*(userRoutine: SMPDrawImageProcPtr): SMPDrawImageUPP;
  97.     (*$IF NOT GENERATINGCFM *)
  98.     INLINE PASCAL $2E9F;
  99.     (*$END*)
  100.  
  101. PROCEDURE CallSMPDrawImageProc*(refcon: LONGINT; inColor: BOOLEAN; userRoutine: SMPDrawImageUPP);
  102.     (*$IF NOT GENERATINGCFM*)
  103.     INLINE PASCAL $205F, $4E90;
  104.     (*$END*)
  105.  
  106. TYPE
  107.     SMPRecipientDescriptorPtr* = POINTER TO SMPRecipientDescriptor;
  108.  
  109.     SMPRecipientDescriptor* = RECORD
  110.         next*:                    SMPRecipientDescriptorPtr (*ΔΔ POINTER TO SMPRecipientDescriptor*);                (*  Q-Link. *)
  111.         result*:                    Types.OSErr;                                    (*  result code when using the object. *)
  112.         recipient*:                POINTER TO OCEMessaging.OCEPackedRecipient;                    (*  Pointer to a Packed Address. *)
  113.         size*:                    LONGINT;                                (*  length of recipient in bytes. *)
  114.         theAddress*:                OCEMail.MailRecipient;                            (*  structure points into recipient and theRID. *)
  115.         theRID*:                    OCE.RecordID;                                (*  structure points into recipient. *)
  116.     END;
  117.  
  118.     SMPEnclosureDescriptorPtr* = POINTER TO SMPEnclosureDescriptor;
  119.  
  120.     SMPEnclosureDescriptor* = RECORD
  121.         next*:                    SMPEnclosureDescriptorPtr (*ΔΔ POINTER TO SMPEnclosureDescriptor*);
  122.         result*:                    Types.OSErr;
  123.         fileSpec*:                Files.FSSpec;
  124.         fileCreator*:            Types.OSType;                                    (*  Creator of this enclosure. *)
  125.         fileType*:                Types.OSType;                                    (*  File Type of this enclosure. *)
  126.     END;
  127.  
  128.     SMPLetterPB* = RECORD
  129.         result*:                    Types.OSErr;                                    (* result of operation *)
  130.         subject*:                OCE.RStringPtr;                                (* RString *)
  131.         senderIdentity*:            OCEAuthDir.AuthIdentity;                            (* Letter is sent from this Identity *)
  132.         toList*:                    SMPRecipientDescriptorPtr;                (* Pointer to linked list *)
  133.         ccList*:                    SMPRecipientDescriptorPtr;                (* Pointer to linked list *)
  134.         bccList*:                SMPRecipientDescriptorPtr;                (* Pointer to linked list *)
  135.         script*:                    Types.ScriptCode;                                (* Identifier for language *)
  136.         textSize*:                Memory.Size;                                    (* length of body data *)
  137.         textBuffer*:                Types.Ptr;                                    (* body of the letter *)
  138.         sendAs*:                    SMPPSendAs;                                (* Send as Letter,Enclosure,Image *)
  139.         padByte*:                Types.SInt8; (* Types.Byte *)
  140.         enclosures*:                SMPEnclosureDescriptorPtr;                (* files to be enclosed *)
  141.         drawImageProc*:            SMPDrawImageUPP;                        (* For imaging *)
  142.         imageRefCon*:            LONGINT;                                (* For imaging *)
  143.         supportsColor*:            BOOLEAN;                                (* For imaging - set to true if you application supports color imaging *)
  144.         filler1*:                BOOLEAN;
  145.     END;
  146.  
  147.     SMPLetterPBPtr* = POINTER TO SMPLetterPB;
  148.  
  149.  
  150. CONST
  151.     kSMPAppMustHandleEventBit*    = 0;
  152.     kSMPAppShouldIgnoreEventBit*    = 1;
  153.     kSMPContractedBit*            = 2;
  154.     kSMPExpandedBit*                = 3;
  155.     kSMPMailerBecomesTargetBit*    = 4;
  156.     kSMPAppBecomesTargetBit*        = 5;
  157.     kSMPCursorOverMailerBit*        = 6;
  158.     kSMPCreateCopyWindowBit*        = 7;
  159.     kSMPDisposeCopyWindowBit*    = 8;
  160.  
  161. (* Values of SMPMailerResult *)
  162.     kSMPAppMustHandleEventMask*    = ASH(1,kSMPAppMustHandleEventBit);
  163.     kSMPAppShouldIgnoreEventMask* = ASH(1,kSMPAppShouldIgnoreEventBit);
  164.     kSMPContractedMask*            = ASH(1,kSMPContractedBit);
  165.     kSMPExpandedMask*            = ASH(1,kSMPExpandedBit);
  166.     kSMPMailerBecomesTargetMask*    = ASH(1,kSMPMailerBecomesTargetBit);
  167.     kSMPAppBecomesTargetMask*    = ASH(1,kSMPAppBecomesTargetBit);
  168.     kSMPCursorOverMailerMask*    = ASH(1,kSMPCursorOverMailerBit);
  169.     kSMPCreateCopyWindowMask*    = ASH(1,kSMPCreateCopyWindowBit);
  170.     kSMPDisposeCopyWindowMask*    = ASH(1,kSMPDisposeCopyWindowBit);
  171.  
  172.     
  173. TYPE
  174.     SMPMailerResult* = LONGINT;
  175.  
  176. (* Values of SMPMailerComponent*)
  177.  
  178. CONST
  179.     kSMPOther*                    = -1;
  180.     kSMPFrom*                    = 32;
  181.     kSMPTo*                        = 20;
  182.     kSMPRegarding*                = 22;
  183.     kSMPSendDateTime*            = 29;
  184.     kSMPAttachments*                = 26;
  185.     kSMPAddressOMatic*            = 16;
  186.  
  187.     
  188. TYPE
  189.     SMPMailerComponent* = LONGINT;
  190.  
  191.  
  192. CONST
  193.     kSMPToAddress*                = OCEMail.kMailToBit;
  194.     kSMPCCAddress*                = OCEMail.kMailCcBit;
  195.     kSMPBCCAddress*                = OCEMail.kMailBccBit;
  196.  
  197.     
  198. TYPE
  199.     SMPAddressType* = OCEMail.MailAttributeID;
  200.  
  201.  
  202. CONST
  203.     kSMPUndoCommand*                = 0;
  204.     kSMPCutCommand*                = 1;
  205.     kSMPCopyCommand*                = 2;
  206.     kSMPPasteCommand*            = 3;
  207.     kSMPClearCommand*            = 4;
  208.     kSMPSelectAllCommand*        = 5;
  209.  
  210.     
  211. TYPE
  212.     SMPEditCommand* = INTEGER;
  213.  
  214.  
  215. CONST
  216.     kSMPUndoDisabled*            = 0;
  217.     kSMPAppMayUndo*                = 1;
  218.     kSMPMailerUndo*                = 2;
  219.  
  220.     
  221. TYPE
  222.     SMPUndoState* = INTEGER;
  223.  
  224. (*
  225. SMPSendFormatMask:
  226.  
  227. Bitfield indicating which combinations of formats are included in,
  228. should be included or, or can be included in a letter.
  229. *)
  230.  
  231. CONST
  232.     kSMPNativeBit*                = 0;
  233.     kSMPImageBit*                = 1;
  234.     kSMPStandardInterchangeBit*    = 2;
  235.  
  236. (* Values of SMPSendFormatMask *)
  237.     kSMPNativeMask*                = ASH(1,kSMPNativeBit);
  238.     kSMPImageMask*                = ASH(1,kSMPImageBit);
  239.     kSMPStandardInterchangeMask*    = ASH(1,kSMPStandardInterchangeBit);
  240.  
  241.     
  242. TYPE
  243.     SMPSendFormatMask* = LONGINT;
  244.  
  245. (*
  246.     Pseudo-events passed to the clients filter proc for initialization and cleanup.
  247. *)
  248.  
  249. CONST
  250.     kSMPSendOptionsStart*        = -1;
  251.     kSMPSendOptionsEnd*            = -2;
  252.  
  253. (*
  254. SMPSendFormatMask:
  255.  
  256. Structure describing the format of a letter.  If kSMPNativeMask bit is set, the whichNativeFormat field indicates which of the client-defined formats to use.
  257. *)
  258.  
  259. TYPE
  260.     SMPSendFormat* = RECORD
  261.         whichFormats*:            SMPSendFormatMask;
  262.         whichNativeFormat*:        INTEGER;                                (* 0 based *)
  263.     END;
  264.  
  265.     SMPLetterInfo* = RECORD
  266.         letterCreator*:            Types.OSType;
  267.         letterType*:                Types.OSType;
  268.         subject*:                OCE.RString32;
  269.         sender*:                    OCE.RString32;
  270.     END;
  271.  
  272.  
  273. CONST
  274.     kSMPSave*                    = 0;
  275.     kSMPSaveAs*                    = 1;
  276.     kSMPSaveACopy*                = 2;
  277.  
  278.     
  279. TYPE
  280.     SMPSaveType* = INTEGER;
  281.  
  282.     FrontWindowProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (clientData: LONGINT): Quickdraw.WindowPtr;
  283.     PrepareMailerForDrawingProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (window: Quickdraw.WindowPtr; clientData: LONGINT);
  284.     SendOptionsFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; itemHit: INTEGER; clientData: LONGINT): BOOLEAN;
  285.     FrontWindowUPP* = Types.UniversalProcPtr;
  286.     PrepareMailerForDrawingUPP* = Types.UniversalProcPtr;
  287.     SendOptionsFilterUPP* = Types.UniversalProcPtr;
  288.  
  289. CONST
  290.     uppFrontWindowProcInfo* = $000000F0; (* PROCEDURE (4 byte param): 4 byte result; *)
  291.     uppPrepareMailerForDrawingProcInfo* = $000003C0; (* PROCEDURE (4 byte param, 4 byte param); *)
  292.     uppSendOptionsFilterProcInfo* = $00003BD0; (* PROCEDURE (4 byte param, 4 byte param, 2 byte param, 4 byte param): 1 byte result; *)
  293.  
  294. PROCEDURE NewFrontWindowProc*(userRoutine: FrontWindowProcPtr): FrontWindowUPP;
  295.     (*$IF NOT GENERATINGCFM *)
  296.     INLINE PASCAL $2E9F;
  297.     (*$END*)
  298.  
  299. PROCEDURE NewPrepareMailerForDrawingProc*(userRoutine: PrepareMailerForDrawingProcPtr): PrepareMailerForDrawingUPP;
  300.     (*$IF NOT GENERATINGCFM *)
  301.     INLINE PASCAL $2E9F;
  302.     (*$END*)
  303.  
  304. PROCEDURE NewSendOptionsFilterProc*(userRoutine: SendOptionsFilterProcPtr): SendOptionsFilterUPP;
  305.     (*$IF NOT GENERATINGCFM *)
  306.     INLINE PASCAL $2E9F;
  307.     (*$END*)
  308.  
  309. PROCEDURE CallFrontWindowProc*(clientData: LONGINT; userRoutine: FrontWindowUPP): Quickdraw.WindowPtr;
  310.     (*$IF NOT GENERATINGCFM*)
  311.     INLINE PASCAL $205F, $4E90;
  312.     (*$END*)
  313.  
  314. PROCEDURE CallPrepareMailerForDrawingProc*(window: Quickdraw.WindowPtr; clientData: LONGINT; userRoutine: PrepareMailerForDrawingUPP);
  315.     (*$IF NOT GENERATINGCFM*)
  316.     INLINE PASCAL $205F, $4E90;
  317.     (*$END*)
  318.  
  319. PROCEDURE CallSendOptionsFilterProc*(theDialog: Dialogs.DialogPtr; VAR theEvent: Events.EventRecord; itemHit: INTEGER; clientData: LONGINT; userRoutine: SendOptionsFilterUPP): BOOLEAN;
  320.     (*$IF NOT GENERATINGCFM*)
  321.     INLINE PASCAL $205F, $4E90;
  322.     (*$END*)
  323.  
  324. CONST
  325.     kSMPGetDimensions*            = 4700;
  326.     kSMPNewMailer*                = 4701;
  327.     kSMPDisposeMailer*            = 4702;
  328.     kSMPMailerEvent*                = 4703;
  329.     kSMPMailerEditCommand*        = 4704;
  330.     kSMPMailerForward*            = 4705;
  331.     kSMPMailerReply*                = 4706;
  332.     kSMPGetMailerState*            = 4707;
  333.     kSMPPrepareCoverPages*        = 4708;
  334.     kSMPDrawNthCoverPage*        = 4709;
  335.     kSMPBeginSave*                = 4710;
  336.     kSMPBeginSend*                = 4711;
  337.     kSMPOpenLetter*                = 4712;
  338.     kSMPDrawMailer*                = 4713;
  339.     kSMPMoveMailer*                = 4714;
  340.     kSMPSetSubject*                = 4715;
  341.     kSMPSetFromIdentity*            = 4716;
  342.     kSMPAddAddress*                = 4717;
  343.     kSMPAddAttachment*            = 4718;
  344.     kSMPContentChanged*            = 4719;
  345.     kSMPEndSave*                    = 4720;
  346.     kSMPEndSend*                    = 4721;
  347.     kSMPExpandOrContract*        = 4722;
  348.     kSMPBecomeTarget*            = 4723;
  349.     kSMPGetTabInfo*                = 4724;
  350.     kSMPClearUndo*                = 4725;
  351.     kSMPAttachDialog*            = 4726;
  352.     kSMPGetComponentSize*        = 4727;
  353.     kSMPGetComponentInfo*        = 4728;
  354.     kSMPGetListItemInfo*            = 4729;
  355.     kSMPAddContent*                = 4730;
  356.     kSMPReadContent*                = 4731;
  357.     kSMPGetFontNameFromLetter*    = 4732;
  358.     kSMPAddMainEnclosure*        = 4733;
  359.     kSMPGetMainEnclosureFSSpec*    = 4734;
  360.     kSMPAddBlock*                = 4735;
  361.     kSMPReadBlock*                = 4736;
  362.     kSMPEnumerateBlocks*            = 4737;
  363.     kSMPImage*                    = 4738;
  364.     kSMPInitMailer*                = 4741;
  365.     kSMPGetNextLetter*            = 4742;
  366.     kSMPPrepareToClose*            = 4743;
  367.     kSMPCloseOptionsDialog*        = 4744;
  368.     kSMPPrepareToChange*            = 4745;
  369.     kSMPGetLetterInfo*            = 4746;
  370.     kSMPTagDialog*                = 4747;
  371.     kSMPSendOptionsDialog*        = 5000;
  372.  
  373.  
  374. TYPE
  375.     SMPMailerState* = RECORD
  376.         mailerCount*:            INTEGER;
  377.         currentMailer*:            INTEGER;
  378.         upperLeft*:                Types.Point;
  379.         hasBeenReceived*:        BOOLEAN;
  380.         isTarget*:                BOOLEAN;
  381.         isExpanded*:                BOOLEAN;
  382.         canMoveToTrash*:            BOOLEAN;
  383.         canTag*:                    BOOLEAN;
  384.         padByte2*:                Types.SInt8; (* Types.Byte *)
  385.         changeCount*:            LONGINT;
  386.         targetComponent*:        SMPMailerComponent;
  387.         canCut*:                    BOOLEAN;
  388.         canCopy*:                BOOLEAN;
  389.         canPaste*:                BOOLEAN;
  390.         canClear*:                BOOLEAN;
  391.         canSelectAll*:            BOOLEAN;
  392.         padByte3*:                Types.SInt8; (* Types.Byte *)
  393.         undoState*:                SMPUndoState;
  394.         undoWhat*:                Types.Str63;
  395.     END;
  396.  
  397.     SMPSendOptions* = RECORD
  398.         signWhenSent*:            BOOLEAN;
  399.         priority*:                OCEMessaging.IPMPriority;
  400.     END;
  401.  
  402.     SMPSendOptionsPtr* = POINTER TO SMPSendOptions;
  403.     SMPSendOptionsHandle* = HANDLE TO SMPSendOptions (*ΔΔ POINTER TO SMPSendOptionsPtr*);
  404.  
  405.     SMPCloseOptions* = RECORD
  406.         moveToTrash*:            BOOLEAN;
  407.         addTag*:                    BOOLEAN;
  408.         tag*:                    OCE.RString32;
  409.     END;
  410.  
  411.     SMPCloseOptionsPtr* = POINTER TO SMPCloseOptions;
  412.  
  413. (*----------------------------------------------------------------------------------------
  414.     Send Package Routines
  415. ----------------------------------------------------------------------------------------*)
  416.  
  417. CONST
  418.     kSMPSendLetter*                = 500;
  419.     kSMPResolveToRecipient*        = 1100;
  420.     kSMPNewPage*                    = 2100;
  421.     kSMPImageErr*                = 2101;
  422.  
  423.  
  424. PROCEDURE SMPSendLetter*(theLetter: SMPLetterPBPtr): Types.OSErr;
  425.     (*$IF NOT GENERATINGCFM*)
  426.     INLINE PASCAL $203C, 2, 500, $AA5D;
  427.     (*$END*)
  428. PROCEDURE SMPNewPage*(VAR newHeader: Quickdraw.OpenCPicParams): Types.OSErr;
  429.     (*$IF NOT GENERATINGCFM*)
  430.     INLINE PASCAL $203C, 2, 2100, $AA5D;
  431.     (*$END*)
  432. PROCEDURE SMPImageErr*(): Types.OSErr;
  433.     (*$IF NOT GENERATINGCFM*)
  434.     INLINE PASCAL $203C, 0, 2101, $AA5D;
  435.     (*$END*)
  436. PROCEDURE SMPResolveToRecipient*(dsSpec: OCE.PackedDSSpecPtr; VAR recipientList: SMPRecipientDescriptorPtr; identity: OCEAuthDir.AuthIdentity): Types.OSErr;
  437.     (*$IF NOT GENERATINGCFM*)
  438.     INLINE PASCAL $203C, 6, 1100, $AA5D;
  439.     (*$END*)
  440. PROCEDURE SMPInitMailer*(mailerVersion: LONGINT): Types.OSErr;
  441.     (*$IF NOT GENERATINGCFM*)
  442.     INLINE PASCAL $203C, 2, 4741, $AA5D;
  443.     (*$END*)
  444. PROCEDURE SMPGetDimensions*(VAR width: INTEGER; VAR contractedHeight: INTEGER; VAR expandedHeight: INTEGER): Types.OSErr;
  445.     (*$IF NOT GENERATINGCFM*)
  446.     INLINE PASCAL $203C, 6, 4700, $AA5D;
  447.     (*$END*)
  448. PROCEDURE SMPGetTabInfo*(VAR firstTab: SMPMailerComponent; VAR lastTab: SMPMailerComponent): Types.OSErr;
  449.     (*$IF NOT GENERATINGCFM*)
  450.     INLINE PASCAL $203C, 4, 4724, $AA5D;
  451.     (*$END*)
  452. PROCEDURE SMPNewMailer*(window: Quickdraw.WindowPtr; upperLeft: Types.Point; canContract: BOOLEAN; initiallyExpanded: BOOLEAN; identity: OCEAuthDir.AuthIdentity; prepareMailerForDrawingCB: PrepareMailerForDrawingUPP; clientData: LONGINT): Types.OSErr;
  453.     (*$IF NOT GENERATINGCFM*)
  454.     INLINE PASCAL $203C, 12, 4701, $AA5D;
  455.     (*$END*)
  456. PROCEDURE SMPPrepareToClose*(window: Quickdraw.WindowPtr): Types.OSErr;
  457.     (*$IF NOT GENERATINGCFM*)
  458.     INLINE PASCAL $203C, 2, 4743, $AA5D;
  459.     (*$END*)
  460. PROCEDURE SMPCloseOptionsDialog*(window: Quickdraw.WindowPtr; closeOptions: SMPCloseOptionsPtr): Types.OSErr;
  461.     (*$IF NOT GENERATINGCFM*)
  462.     INLINE PASCAL $203C, 4, 4744, $AA5D;
  463.     (*$END*)
  464. PROCEDURE SMPTagDialog*(window: Quickdraw.WindowPtr; VAR theTag: OCE.RString32): Types.OSErr;
  465.     (*$IF NOT GENERATINGCFM*)
  466.     INLINE PASCAL $203C, 4, 4747, $AA5D;
  467.     (*$END*)
  468. PROCEDURE SMPDisposeMailer*(window: Quickdraw.WindowPtr; closeOptions: SMPCloseOptionsPtr): Types.OSErr;
  469.     (*$IF NOT GENERATINGCFM*)
  470.     INLINE PASCAL $203C, 4, 4702, $AA5D;
  471.     (*$END*)
  472. PROCEDURE SMPMailerEvent*((*CONST*)VAR event: Events.EventRecord; VAR whatHappened: SMPMailerResult; frontWindowCB: FrontWindowUPP; clientData: LONGINT): Types.OSErr;
  473.     (*$IF NOT GENERATINGCFM*)
  474.     INLINE PASCAL $203C, 8, 4703, $AA5D;
  475.     (*$END*)
  476. PROCEDURE SMPClearUndo*(window: Quickdraw.WindowPtr): Types.OSErr;
  477.     (*$IF NOT GENERATINGCFM*)
  478.     INLINE PASCAL $203C, 2, 4725, $AA5D;
  479.     (*$END*)
  480. PROCEDURE SMPMailerEditCommand*(window: Quickdraw.WindowPtr; command: SMPEditCommand; VAR whatHappened: SMPMailerResult): Types.OSErr;
  481.     (*$IF NOT GENERATINGCFM*)
  482.     INLINE PASCAL $203C, 5, 4704, $AA5D;
  483.     (*$END*)
  484. PROCEDURE SMPMailerForward*(window: Quickdraw.WindowPtr; from: OCEAuthDir.AuthIdentity): Types.OSErr;
  485.     (*$IF NOT GENERATINGCFM*)
  486.     INLINE PASCAL $203C, 4, 4705, $AA5D;
  487.     (*$END*)
  488. PROCEDURE SMPMailerReply*(originalLetter: Quickdraw.WindowPtr; newLetter: Quickdraw.WindowPtr; replyToAll: BOOLEAN; upperLeft: Types.Point; canContract: BOOLEAN; initiallyExpanded: BOOLEAN; identity: OCEAuthDir.AuthIdentity; prepareMailerForDrawingCB: PrepareMailerForDrawingUPP; clientData: LONGINT): Types.OSErr;
  489.     (*$IF NOT GENERATINGCFM*)
  490.     INLINE PASCAL $203C, 15, 4706, $AA5D;
  491.     (*$END*)
  492. PROCEDURE SMPGetMailerState*(window: Quickdraw.WindowPtr; VAR itsState: SMPMailerState): Types.OSErr;
  493.     (*$IF NOT GENERATINGCFM*)
  494.     INLINE PASCAL $203C, 4, 4707, $AA5D;
  495.     (*$END*)
  496. PROCEDURE SMPSendOptionsDialog*(window: Quickdraw.WindowPtr; VAR documentName: Types.Str255; VAR nativeFormatNames: Types.StringPtr; nameCount: INTEGER; canSend: SMPSendFormatMask; VAR currentFormat: SMPSendFormat; filterProc: SendOptionsFilterUPP; clientData: LONGINT; VAR shouldSend: SMPSendFormat; sendOptions: SMPSendOptionsPtr): Types.OSErr;
  497.     (*$IF NOT GENERATINGCFM*)
  498.     INLINE PASCAL $203C, 19, 5000, $AA5D;
  499.     (*$END*)
  500. PROCEDURE SMPPrepareCoverPages*(window: Quickdraw.WindowPtr; VAR pageCount: INTEGER): Types.OSErr;
  501.     (*$IF NOT GENERATINGCFM*)
  502.     INLINE PASCAL $203C, 4, 4708, $AA5D;
  503.     (*$END*)
  504. PROCEDURE SMPDrawNthCoverPage*(window: Quickdraw.WindowPtr; pageNumber: INTEGER; doneDrawingCoverPages: BOOLEAN): Types.OSErr;
  505.     (*$IF NOT GENERATINGCFM*)
  506.     INLINE PASCAL $203C, 4, 4709, $AA5D;
  507.     (*$END*)
  508. PROCEDURE SMPPrepareToChange*(window: Quickdraw.WindowPtr): Types.OSErr;
  509.     (*$IF NOT GENERATINGCFM*)
  510.     INLINE PASCAL $203C, 2, 4745, $AA5D;
  511.     (*$END*)
  512. PROCEDURE SMPContentChanged*(window: Quickdraw.WindowPtr): Types.OSErr;
  513.     (*$IF NOT GENERATINGCFM*)
  514.     INLINE PASCAL $203C, 2, 4719, $AA5D;
  515.     (*$END*)
  516. PROCEDURE SMPBeginSave*(window: Quickdraw.WindowPtr; (*CONST*)VAR diskLetter: Files.FSSpec; creator: Types.OSType; fileType: Types.OSType; saveType: SMPSaveType; VAR mustAddContent: BOOLEAN): Types.OSErr;
  517.     (*$IF NOT GENERATINGCFM*)
  518.     INLINE PASCAL $203C, 11, 4710, $AA5D;
  519.     (*$END*)
  520. PROCEDURE SMPEndSave*(window: Quickdraw.WindowPtr; okToSave: BOOLEAN): Types.OSErr;
  521.     (*$IF NOT GENERATINGCFM*)
  522.     INLINE PASCAL $203C, 3, 4720, $AA5D;
  523.     (*$END*)
  524. PROCEDURE SMPBeginSend*(window: Quickdraw.WindowPtr; creator: Types.OSType; fileType: Types.OSType; sendOptions: SMPSendOptionsPtr; VAR mustAddContent: BOOLEAN): Types.OSErr;
  525.     (*$IF NOT GENERATINGCFM*)
  526.     INLINE PASCAL $203C, 10, 4711, $AA5D;
  527.     (*$END*)
  528. PROCEDURE SMPEndSend*(window: Quickdraw.WindowPtr; okToSend: BOOLEAN): Types.OSErr;
  529.     (*$IF NOT GENERATINGCFM*)
  530.     INLINE PASCAL $203C, 3, 4721, $AA5D;
  531.     (*$END*)
  532. PROCEDURE SMPOpenLetter*((*CONST*)VAR letter: LetterDescriptor; window: Quickdraw.WindowPtr; upperLeft: Types.Point; canContract: BOOLEAN; initiallyExpanded: BOOLEAN; prepareMailerForDrawingCB: PrepareMailerForDrawingUPP; clientData: LONGINT): Types.OSErr;
  533.     (*$IF NOT GENERATINGCFM*)
  534.     INLINE PASCAL $203C, 12, 4712, $AA5D;
  535.     (*$END*)
  536. PROCEDURE SMPAddMainEnclosure*(window: Quickdraw.WindowPtr; (*CONST*)VAR enclosure: Files.FSSpec): Types.OSErr;
  537.     (*$IF NOT GENERATINGCFM*)
  538.     INLINE PASCAL $203C, 4, 4733, $AA5D;
  539.     (*$END*)
  540. PROCEDURE SMPGetMainEnclosureFSSpec*(window: Quickdraw.WindowPtr; VAR enclosureDir: Files.FSSpec): Types.OSErr;
  541.     (*$IF NOT GENERATINGCFM*)
  542.     INLINE PASCAL $203C, 4, 4734, $AA5D;
  543.     (*$END*)
  544. PROCEDURE SMPAddContent*(window: Quickdraw.WindowPtr; segmentType: OCEMail.MailSegmentType; appendFlag: BOOLEAN; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferSize: LONGINT; VAR textScrap: TextEdit.StScrpRec; startNewScript: BOOLEAN; script: Types.ScriptCode): Types.OSErr;
  545.     (*$IF NOT GENERATINGCFM*)
  546.     INLINE PASCAL $203C, 12, 4730, $AA5D;
  547.     (*$END*)
  548. PROCEDURE SMPReadContent*(window: Quickdraw.WindowPtr; segmentTypeMask: OCEMail.MailSegmentMask; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferSize: LONGINT; VAR dataSize: LONGINT; VAR textScrap: TextEdit.StScrpRec; VAR script: Types.ScriptCode; VAR segmentType: OCEMail.MailSegmentType; VAR endOfScript: BOOLEAN; VAR endOfSegment: BOOLEAN; VAR endOfContent: BOOLEAN; VAR segmentLength: LONGINT; VAR segmentID: LONGINT): Types.OSErr;
  549.     (*$IF NOT GENERATINGCFM*)
  550.     INLINE PASCAL $203C, 25, 4731, $AA5D;
  551.     (*$END*)
  552. PROCEDURE SMPGetFontNameFromLetter*(window: Quickdraw.WindowPtr; fontNum: INTEGER; VAR fontName: Types.Str255; doneWithFontTable: BOOLEAN): Types.OSErr;
  553.     (*$IF NOT GENERATINGCFM*)
  554.     INLINE PASCAL $203C, 6, 4732, $AA5D;
  555.     (*$END*)
  556. PROCEDURE SMPAddBlock*(window: Quickdraw.WindowPtr; (*CONST*)VAR blockType: OCEMessaging.OCECreatorType; append: BOOLEAN; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferSize: LONGINT; mode: OCEMail.MailBlockMode; offset: LONGINT): Types.OSErr;
  557.     (*$IF NOT GENERATINGCFM*)
  558.     INLINE PASCAL $203C, 12, 4735, $AA5D;
  559.     (*$END*)
  560. PROCEDURE SMPReadBlock*(window: Quickdraw.WindowPtr; (*CONST*)VAR blockType: OCEMessaging.OCECreatorType; blockIndex: INTEGER; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferSize: LONGINT; dataOffset: LONGINT; VAR dataSize: LONGINT; VAR endOfBlock: BOOLEAN; VAR remaining: LONGINT): Types.OSErr;
  561.     (*$IF NOT GENERATINGCFM*)
  562.     INLINE PASCAL $203C, 17, 4736, $AA5D;
  563.     (*$END*)
  564. PROCEDURE SMPEnumerateBlocks*(window: Quickdraw.WindowPtr; startIndex: INTEGER; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferSize: LONGINT; VAR dataSize: LONGINT; VAR nextIndex: INTEGER; VAR more: BOOLEAN): Types.OSErr;
  565.     (*$IF NOT GENERATINGCFM*)
  566.     INLINE PASCAL $203C, 13, 4737, $AA5D;
  567.     (*$END*)
  568. PROCEDURE SMPDrawMailer*(window: Quickdraw.WindowPtr): Types.OSErr;
  569.     (*$IF NOT GENERATINGCFM*)
  570.     INLINE PASCAL $203C, 2, 4713, $AA5D;
  571.     (*$END*)
  572. PROCEDURE SMPSetSubject*(window: Quickdraw.WindowPtr; (*CONST*)VAR text: OCE.RString): Types.OSErr;
  573.     (*$IF NOT GENERATINGCFM*)
  574.     INLINE PASCAL $203C, 4, 4715, $AA5D;
  575.     (*$END*)
  576. PROCEDURE SMPSetFromIdentity*(window: Quickdraw.WindowPtr; from: OCEAuthDir.AuthIdentity): Types.OSErr;
  577.     (*$IF NOT GENERATINGCFM*)
  578.     INLINE PASCAL $203C, 4, 4716, $AA5D;
  579.     (*$END*)
  580. PROCEDURE SMPAddAddress*(window: Quickdraw.WindowPtr; addrType: SMPAddressType; VAR address: OCEMessaging.OCEPackedRecipient): Types.OSErr;
  581.     (*$IF NOT GENERATINGCFM*)
  582.     INLINE PASCAL $203C, 5, 4717, $AA5D;
  583.     (*$END*)
  584. PROCEDURE SMPAddAttachment*(window: Quickdraw.WindowPtr; (*CONST*)VAR attachment: Files.FSSpec): Types.OSErr;
  585.     (*$IF NOT GENERATINGCFM*)
  586.     INLINE PASCAL $203C, 4, 4718, $AA5D;
  587.     (*$END*)
  588. PROCEDURE SMPAttachDialog*(window: Quickdraw.WindowPtr): Types.OSErr;
  589.     (*$IF NOT GENERATINGCFM*)
  590.     INLINE PASCAL $203C, 2, 4726, $AA5D;
  591.     (*$END*)
  592. PROCEDURE SMPExpandOrContract*(window: Quickdraw.WindowPtr; expand: BOOLEAN): Types.OSErr;
  593.     (*$IF NOT GENERATINGCFM*)
  594.     INLINE PASCAL $203C, 3, 4722, $AA5D;
  595.     (*$END*)
  596. PROCEDURE SMPMoveMailer*(window: Quickdraw.WindowPtr; dh: INTEGER; dv: INTEGER): Types.OSErr;
  597.     (*$IF NOT GENERATINGCFM*)
  598.     INLINE PASCAL $203C, 4, 4714, $AA5D;
  599.     (*$END*)
  600. PROCEDURE SMPBecomeTarget*(window: Quickdraw.WindowPtr; becomeTarget: BOOLEAN; whichField: SMPMailerComponent): Types.OSErr;
  601.     (*$IF NOT GENERATINGCFM*)
  602.     INLINE PASCAL $203C, 5, 4723, $AA5D;
  603.     (*$END*)
  604. PROCEDURE SMPGetComponentSize*(window: Quickdraw.WindowPtr; whichMailer: INTEGER; whichField: SMPMailerComponent; VAR size: INTEGER): Types.OSErr;
  605.     (*$IF NOT GENERATINGCFM*)
  606.     INLINE PASCAL $203C, 7, 4727, $AA5D;
  607.     (*$END*)
  608. PROCEDURE SMPGetComponentInfo*(window: Quickdraw.WindowPtr; whichMailer: INTEGER; whichField: SMPMailerComponent; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
  609.     (*$IF NOT GENERATINGCFM*)
  610.     INLINE PASCAL $203C, 7, 4728, $AA5D;
  611.     (*$END*)
  612. PROCEDURE SMPGetListItemInfo*(window: Quickdraw.WindowPtr; whichMailer: INTEGER; whichField: SMPMailerComponent; buffer: (*ΔΔUNIVΔΔ*) Types.Ptr; bufferLength: LONGINT; startItem: INTEGER; VAR itemCount: INTEGER; VAR nextItem: INTEGER; VAR more: BOOLEAN): Types.OSErr;
  613.     (*$IF NOT GENERATINGCFM*)
  614.     INLINE PASCAL $203C, 16, 4729, $AA5D;
  615.     (*$END*)
  616. PROCEDURE SMPImage*(window: Quickdraw.WindowPtr; drawImageProc: SMPDrawImageUPP; imageRefCon: LONGINT; supportsColor: BOOLEAN): Types.OSErr;
  617.     (*$IF NOT GENERATINGCFM*)
  618.     INLINE PASCAL $203C, 7, 4738, $AA5D;
  619.     (*$END*)
  620. PROCEDURE SMPGetNextLetter*(VAR typesList: Types.OSType; numTypes: INTEGER; VAR adjacentLetter: LetterDescriptor): Types.OSErr;
  621.     (*$IF NOT GENERATINGCFM*)
  622.     INLINE PASCAL $203C, 5, 4742, $AA5D;
  623.     (*$END*)
  624. PROCEDURE SMPGetLetterInfo*(VAR mailboxSpec: LetterSpec; VAR info: SMPLetterInfo): Types.OSErr;
  625.     (*$IF NOT GENERATINGCFM*)
  626.     INLINE PASCAL $203C, 4, 4746, $AA5D;
  627.     (*$END*)
  628.  
  629. (* $ALIGN RESET*)
  630. (* $POP*)
  631.  
  632.  END OCEStandardMail.
  633.